package com.css.openapi.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 基础通用订单明细表(JctyDdmx)表实体类
 *
 * @author xiaolongwei
 * @since 2024-12-09 15:56:27
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@TableName("zfjkp_jcty_ddmx")
public class JctyDdmx implements OrderDetailZxInterface {

    /**
     * 订单id
     */
    @TableId(value = "DDID", type = IdType.INPUT)
    private String ddid;

    /**
     * 明细序号
     */
    @TableField(value = "MXXH")
    private Integer mxxh;

    /**
     * 税率征收率
     */
    @TableField(value = "SLZSL")
    private BigDecimal slzsl;

    /**
     * 商品和服务税收分类编码
     */
    @TableField(value = "SPHFFLBM")
    private String sphfflbm;

    /**
     * 项目名称
     */
    @TableField(value = "XMMC")
    private String xmmc;

    /**
     * 单价
     */
    @TableField(value = "DJ")
    private BigDecimal dj;

    /**
     * 数量
     */
    @TableField(value = "SL")
    private BigDecimal sl;

    /**
     * 规格型号
     */
    @TableField(value = "GGXH")
    private String ggxh;

    /**
     * 单位
     */
    @TableField(value = "DW")
    private String dw;

    /**
     * 价税合计
     */
    @TableField(value = "JSHJ")
    private BigDecimal jshj;

    /**
     * 金额
     */
    @TableField(value = "JE")
    private BigDecimal je;

    /**
     * 税额
     */
    @TableField(value = "SE")
    private BigDecimal se;

    /**
     * 发票行性质（00：正常行，01：折扣行，02：被折扣行）
     */
    @TableField(value = "FPHXZ")
    private String fphxz;

    /**
     * 优惠政策标识
     */
    @TableField(value = "YHZCBS")
    private String yhzcbs;

    /**
     * 删除标记（0：未删除 1已删除）
     */
    @TableLogic(value = "0", delval = "1")
    @TableField(value = "SCBJ")
    private String scbj;

    /**
     * 创建人
     */
    @TableField(value = "CJR")
    private String cjr;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "CJSJ")
    private LocalDateTime cjsj;

    /**
     * 修改人
     */
    @TableField(value = "XGR")
    private String xgr;

    /**
     * 修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(value = "XGSJ")
    private LocalDateTime xgsj;

}
